package com.cacho.s2b.lesson.learn;

/**
 * @Description java数据类型包括8种基础的和引用类型
 * @Author LingWei
 * @date 2023/12/14
 **/

public class LearnJavaDataType {
    public static void main(String args[]){
        //基础数据类型,一共8种： “=”称为赋值运算符（放入变量存储空间）
        byte b = 10;  //表示8位有符号整数。它的取值范围是从-128到127(在内存中只占用一个字节的空间)
        short s = 11;
        int i = 16;
        long l = 10L;
        float f = 234.5f;
        double d = 123.4;
        char c = 'A';
        boolean bool = true;

        //Java 引用类型 或者叫类 对象 类型, 字符串String/class,基本数据类型对应的包装类型(Byte,Short....)
        Byte myByte = b; // 分配内存空间
        Short myShort = s; // 编辑器提示不需要装箱
        Integer myInteger = Integer.valueOf(i);
        Long myLong;
        Float myFloat;
        Double myDouble;
        Character myCharacter;
        Boolean myBoolean;

        // "==" 其实就是比较内存地址，而不是比较数值大小
        Integer i1 = 100;
        Integer i2 = 100;
        Integer i3 = 128;  // 128以下地址相同
        Integer i4 = 128;
        System.out.println(i1==i2); // ture
        System.out.println(i3==i4); // false

        System.out.println("char类型不需要特别转换为int："+(c-10));  //65-10=55
        // int 转换为char,需要(char)  65~90=A~Z  100~122=a~z
        for (i=0;i<128;i++){
            char t = (char) i;
            System.out.println(i+"-->"+t);
        }
    }
}
